SNAP64 RECOMP
Pokémon Snap, running natively. Read this once and you are set.


1. PUT YOUR ROM HERE
-------------------
Copy your own Pokémon Snap (USA) cartridge dump into this folder, next to
Snap64Recomp, named exactly:

    pokemonsnap.z64

or simply start the program: with no ROM here, it asks for the file, checks
it, and copies it in under that name, once. .z64, .v64 and .n64 dumps are all
accepted. No ROM is included and none ever will be. A wrong dump is refused
at start-up with both checksums shown, and a file put here by hand under
another name is reported with the exact path the game looked at.


2. START IT
-----------
Run Snap64Recomp (Snap64Recomp.exe on Windows). The game boots to its own
title screen, as the cartridge did.


3. THE EXTRAS ARE IN THE GAME'S OWN OPTIONS SCREEN
--------------------------------------------------
This is the part people miss. The port has no launcher and no overlay: every
addition lives inside the game's own Options screen, drawn in the game's own
font. Press Esc (or Select on a pad) on any screen: the title, the lab, a
course, the Report. The pages open over it, held still; Esc again closes
them and the game goes on. The same list is on the title's OPTIONS, and in
a course on the pause menu's Options (Enter is Start, the pause menu).

    Screen     the cartridge's own screen position and size
    Graphics   the port's additions (see below)
    Sound      volumes, stereo or mono, mute when not focused
    Controls   the game's own Z Button and Control Stick settings, then
               button setup, pad sticks, dead zone, fast forward, slow
               motion, mouse aim, zoom speed, camera tilt and gyro aim
    Mods       the mods in the mods folder, each On or Off (the row
               where Return was; B returns)

GRAPHICS holds, in the order the page shows them: Render Scale, Super
Sampling, Anti-Aliasing, Widescreen, Frame Rate, 2D Detail, Filter, Texture
Filter, Color Depth, Buffering, Dither, Fullscreen, Overscan Crop, Cutscene
Fix, Photo Detail and Jynx Recolor.

Everything there is OFF or set to the console's behaviour by default, on
purpose: out of the box this plays like the cartridge, and every change is
yours to make. Widescreen and a higher frame rate are the two most people
want first.


4. KEYS
-------
The key on the left, the N64 control it stands for on the right.

    W A S D        the control stick (look around)
    X              A, the shutter
    Z              B
    Left Shift     Z, zoom in
    Q and E        L and R
    I J K L        the C buttons
    Arrow keys     the D-pad (which also moves the stick in menus)
    Return         Start
    Esc            the port's Options, anywhere; hold it for a second to quit
    Enter          Start (the pause menu in a course)
    F11            fullscreen
    F10            widescreen
    F8             frame interpolation
    P              save the photo on screen to photos/
    Tab (held)     fast forward, 3x as shipped (Controls > Fast Forward);
                   on a pad, the right shoulder button
    Space (held)   slow motion, off as shipped (Controls > Slow Motion);
                   on a pad, the left stick pressed in

    Mouse          aims the camera in a course (Mouse Aim, on by default on a
                   PC and off on a Steam Deck). Left click is A, right click
                   is Z, the middle button is B, the wheel is C-Up and C-Down.

A gamepad works as soon as it is plugged in: Xbox, PlayStation, Switch Pro,
the Switch Online N64 controller, the Steam Deck's own controls, and most
third-party pads; gamecontrollerdb.txt beside Snap64Recomp is the community's
list of the rest, read at start-up. The D-pad walks the menus as the stick
does. No pad rumbles: the cartridge never asks for it. "pad_enabled": false
in snapsettings.json makes the port ignore every pad. If yours does nothing,
snap64.log will name it; a newer copy of that file, from
github.com/mdqinc/SDL_GameControllerDB, dropped over the shipped one is the
first thing to try (docs/MANUAL.md, "Which controllers work").

On a Steam Deck the port takes the Deck's own defaults and can aim the camera
by tilting the console (Options > Controls > Gyro Aim). Gyro needs a pad with
a motion sensor: a Deck, a DualShock 4, a DualSense or a Switch Pro.


5. WHERE THINGS GO
------------------
    photos/            photos you save, as PNG
    saves/             your save file, and its backup
    snapsettings.json  your settings, in plain text
    snap64.log         the log of the last run
    Snap64Recomp.png   the icon (Linux; pick it for a Steam shortcut), with
                       Snap64Recomp-window.png for the window and a
                       Snap64Recomp.desktop launcher written on first start

To change what any key, mouse button or controller button does, open
Options > Controls > Button Setup in the game: a row for each input, and A
on a row listens for the next press on the device shown at the top. The
same table is the "keys" section of snapsettings.json, where a controller's
buttons are written as "Pad A", "Pad LeftTrigger" and so on.


SOMETHING WRONG?
----------------
Open an issue at github.com/JackandBeans/Snap64Recomp and attach snap64.log.
It is written next to this file whenever the game is started from the desktop
(started from a terminal, the same text goes to the terminal instead), and it
is the single most useful thing you can send.

README.md is the front page, and docs/MANUAL.md the full manual: every
setting, every control, the Snap Station (docs/SNAP-STATION.md), the Steam
Deck (docs/STEAM-DECK.md), HD texture packs, mods, known limitations, and
how the port was built.
